package com.dhnsoft.shortLink.project.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dhnsoft.shortLink.project.dao.entity.LinkOsStatsDO;
import com.dhnsoft.shortLink.project.dto.req.ShortLinkStatsReqDTO;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

/**
 * ClassName: LinkOsStatsMapper
 * Package: com.dhnsoft.shortLink.project.dao.mapper
 * Description: 操作系统统计访问持久层
 *
 * @Author dhn
 * @Create 2024/4/7 10:06
 * @Version 1.0
 */
public interface LinkOsStatsMapper extends BaseMapper<LinkOsStatsDO> {


    @Insert("insert into t_link_os_stats(full_short_url,gid,date,cnt,os,create_time,update_time,del_flag)" +
            "values(#{linkOsStats.fullShortUrl},#{linkOsStats.gid},#{linkOsStats.date},#{linkOsStats.cnt}" +
            ",#{linkOsStats.os},now(),now(),0)ON DUPLICATE KEY UPDATE cnt=cnt+#{linkOsStats.cnt}," +
            "update_time=now()")
    void linkOsStats(@Param("linkOsStats") LinkOsStatsDO linkOsStatsMapperDO);

    List<HashMap<String, Object>> listOsStatsByShortLink(@Param("param") ShortLinkStatsReqDTO requestParam);
}
